package com.gitee.srurl.core.config;

import com.gitee.srurl.core.api.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * @author zxw
 * @date 2023/4/19 22:16
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ShortUrlConfig {

    /**
     * 是否每次都生成新url,true->每次生成新url,false->重复url返回之前生成url
     */
    private boolean alwaysNewUrl;

    /**
     * 重复检测方式
     * 默认不检测
     */
    private IDuplicateDetection duplicateDetection;

    /**
     * 默认使用mysql存储
     */
    private IDataStore dataStore;

    /**
     * id生成
     */
    private IUniqueIdGenerate idGenerate;

    /**
     * 配置缓存
     */
    private List<IConfigCache> configCache;

    /**
     * 禁止生成策略
     */
    private List<IDisabledStrategy> disabledStrategy;

    /**
     * 域名选择器
     */
    private IDomainSelector domainSelector;
}
